package com.itheima.myreflect.Demo4;

import java.lang.reflect.Method;
import java.util.Properties;

public class Test {
    public static void main(String[] args) throws Exception {
        //1. 通过Properties加载prop.properties文件信息
        Properties pro = new Properties();
        pro.load(Test.class.getClassLoader().getResourceAsStream("prop1.properties"));
        System.out.println(pro);

        //2. 先获取到类对象
        Class clazz = Class.forName(pro.getProperty("className"));

        //3. 创建类的对象
        Object obj = clazz.newInstance();

        //4. 获取到当前要执行的方法所对应的Method对象
        Method method = clazz.getDeclaredMethod(pro.getProperty("methodName"));
        method.setAccessible(true);

        //5. 反射调用方法
        method.invoke(obj);

    }
}
